Implementation of complex, high level, data processing can be accomplished by a number of methods utilizing one or more integrated circuits. One such method involves the use of a General Purpose Microprocessor. A different method involves the use of an Application Specific Integrated Circuit. Another method involves the use of a Digital Signal Processor. Yet another method involves using a Field Programmable Gate Array. One more method involves a Field Programmable Object Array.
The use of a General Purpose Microprocessor is problematic in that processing complex equations is most often slower then all other methods. This is due to the fact, a General Purpose Microprocessor must do many tasks in supplement to processing the data. A modem General Purpose Microprocessor must fetch data and instructions, update information in many levels of cache, and branch predict. The modern General Purpose Microprocessor must account for a program pointer that can jump to almost anywhere in a program at the whim of any instruction in the processing cue. Doubling the math cores on the same chip will exponentially complicate the electronics necessary to have the General Purpose Microprocessor function correctly.
The use of an Application Specific Integrated Circuit is problematic in that advances in technology can result in the Application Specific Integrated Circuit becoming obsolete. The Application Specific Integrated Circuit's process cannot be changed. An obsolete Application Specific Integrated Circuit must be replaced or continue processing data with a less efficient design then the current technology has to offer. Application Specific Integrated Circuit's are often used for Compression Decompression Algorithms in digital video, digital audio, and digital transceivers. Most Compression Decompression Algorithm technologies change frequently; making an old Application Specific Integrated Circuit nearly useless.
A Digital Signal Processor is best suited for fixed point calculations. Although, fixed point calculations are faster than floating point calculations; this method is unsuitable for applications where high precision is necessary. Digital Signal Processors often have Digital Analog Conversion which must be calibrated for the specific signal range. Analog devices can change their range in different operating conditions, making the Digital Signal Processor's precision lower still.
The use of Field Programmable Gate Arrays is problematic in that the number of connections and configurations is so high, this slows the function of the device significantly. A Field Programmable Gate Array has many interconnected parts that may not support the application. Clock signals, multiply cores, design certification, and memory cells can all be unnecessary for the application at hand. This situation relegates Field Programmable Gate Arrays to mainly applications involving circuit design.
Field Programmable Object Arrays are problematic in that their design requires too many transistors. Common Arithmetic Logic Units used in Field Programmable Object Arrays have, in many instances, fewer then thirty functions. Tens of thousands of transistors are needed, in conventional arithmetic logic unit design, to implement those functions. The bus architecture has many switching elements, also using many transistors. As a specific data set is switched through the system, power and time is used up. Even the tiniest transistors use power and produce heat. Too much heat can damage the system.
Thus there is a continuing need to develop new integrated circuits which are cool running, adaptable, precise, simple, and fast.
Various objects, features, aspects, and advantages of the programmable logic block embodiments will become more apparent from the following detailed description in which like numerals represent like components.